<%-- 
    Document   : editarUsuario
    Created on : 07/10/2011, 21:51:34
    Author     : Maury
--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<%@page import="java.text.DateFormat"%>
<%@page import="Exceptions.PrivilegioInsuficienteException"%>
<%@page import="Model.Usuario"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Sistema Controle de Reservas</title>
        <script type="text/javascript">
            function validar(form){
                var nome = form.nome.value;
                var login = form.login.value;
                var senha = form.senha.value;
                var email = form.email.value;
                var nascimento = form.nascimento.value;
                document.getElementById("nomeAlert").innerHTML = "";
                document.getElementById("loginAlert").innerHTML = "";
                document.getElementById("senhaAlert").innerHTML = "";
                document.getElementById("emailAlert").innerHTML = "";
                document.getElementById("nascimentoAlert").innerHTML = "";
                
                if(login == ""){
                    document.getElementById("loginAlert").innerHTML = "LOGIN DEVE SER PREENCHIDO!";
                    form.login.focus();
                    return false;
                }
                else if(nome == ""){
                    document.getElementById("nomeAlert").innerHTML = "NOME DEVE SER PREENCHIDO!";
                    form.nome.focus();
                    return false;
                }
                else if(nascimento != ""){
                    if(!VerificaData(nascimento)){
                        document.getElementById("nascimentoAlert").innerHTML = "DATA INVÁLIDA!";
                        form.nascimento.focus();
                        return false;
                    }
                    return true;
                }
                else if(senha == ""){
                    document.getElementById("senhaAlert").innerHTML = "SENHA DEVE SER PREENCHIDO!";
                    form.senha.focus();
                    return false;
                }
                else if(email == ""){
                    document.getElementById("emailAlert").innerHTML = "EMAIL DEVE SER PREENCHIDO!";
                    form.email.focus();                    
                    return false;
                }
                else if(!checkMail(email)){
                    document.getElementById("emailAlert").innerHTML = "EMAIL INVÁLIDO!";
                    form.email.focus();
                    return false;
                }
                else return true;
            }
            
            function checkMail(mail){
                var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
                if(typeof(mail) == "string"){
                    if(er.test(mail))
                    { 
                        return true; 
                    }
                    return false;
                }else if(typeof(mail) == "object"){
                    if(er.test(mail.value)){ 
                        return true; 
                    }
                    return false;
                }else{
                    return false;
                }
            }
            
            function VerificaData(digData) 
            {
                var bissexto = 0;
                var data = digData; 
                var tam = data.length;
                if (tam == 10) 
                {
                        var dia = data.substr(0,2)
                        var mes = data.substr(3,2)
                        var ano = data.substr(6,4)
                        if ((ano > 1900)||(ano < 2100))
                        {
                                switch (mes) 
                                {
                                        case '01':
                                        case '03':
                                        case '05':
                                        case '07':
                                        case '08':
                                        case '10':
                                        case '12':
                                                if  (dia <= 31) 
                                                {
                                                        return true;
                                                }
                                                break

                                        case '04':              
                                        case '06':
                                        case '09':
                                        case '11':
                                                if  (dia <= 30) 
                                                {
                                                        return true;
                                                }
                                                break
                                        case '02':
                                                /* Validando ano Bissexto / fevereiro / dia */ 
                                                if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) 
                                                { 
                                                        bissexto = 1; 
                                                } 
                                                if ((bissexto == 1) && (dia <= 29)) 
                                                { 
                                                        return true;                             
                                                } 
                                                if ((bissexto != 1) && (dia <= 28)) 
                                                { 
                                                        return true; 
                                                }                       
                                                break                                           
                                    }
                            }
                    }
                    return false;
                }
        </script>
    </head>    
    <body>
        <%
            session = request.getSession(false);
            Usuario usuario = (Usuario) session.getAttribute("usuario");
            if(usuario == null || usuario.isBloquear()){
        %>
                <jsp:forward page="/index.jsp"/>
        <%
            }
                       
            String menu = null;
            if(usuario.getPrivilegio().getId() == 1){
                menu = "menuAdministrador.jsp";
                
            }
            else if(usuario.getPrivilegio().getId() == 2){
                menu = "menuFuncionario.jsp";
            }
            else if(usuario.getPrivilegio().getId() == 3){
                menu = "menuPorteiro.jsp";
            }
            else if(usuario.getPrivilegio().getId() == 4){
                menu = "menuAluno.jsp";
            }
        %>
        <h1>Editar perfil:</h1>
        <div id="message">${erro}</div>
        <form name="formEditar" method="post" action="MainAccessServlet" onsubmit="return validar(this)" accept-charset="iso-8859-1,utf-8">
            <input type="hidden" name="cmd" value="editarUsuario"/><br>
            Login: <input type="text" name="login" value="${usuario.login}"/><br>
            <label id="loginAlert"></label><br>
            Nome: <input type="text" name="nome" value="${usuario.nome}"/><br>
            <label id="nomeAlert"></label><br>
            Senha: <input type="password" name="senha" value="${usuario.senha}"/><br>
            <label id="senhaAlert"></label><br>
            E-mail: <input type="text" name="email" value="${usuario.email}"/><br>
            <label id="emailAlert"></label><br>
            Data de Nascimento: <input type="text" name="nascimento" value="<fmt:formatDate pattern="dd/MM/yyyy" value="${usuario.nascimento}"/>"/> (dd/mm/yyyy)<br>
            <label id="nascimentoAlert"></label><br>
            <input type="submit" value="Submeter"/>
            <button type="button" onclick="location.href='<%=menu%>'">Voltar</button>
        </form>
    </body>
</html>
